unit clsFaseProduto;

interface

uses Dm,dbtables,biblio;

type
  TFaseProduto=Class(TObject)
    private
      Fase_codigo    : String;
    public
      Fase_descricao : String;
      function  Gravar(p_Fase_codigo:String):Byte;
      function  Recuperar(p_Fase_codigo:String):Byte;
      function  Excluir(p_Fase_codigo:String):Byte;
      procedure Consultar(var p_q:TQuery;p_nome:String);
  end;

implementation

function TFaseProduto.Gravar;
var tq:TQuery;
begin
  tq:=Tquery.Create(DmInt);
  tq.databasename:=dmint.Db.DatabaseName;
  tq.active:=False;
  tq.sql.clear;
  tq.params.clear;
  tq.sql.add('SELECT * FROM FaseProduto where Fase_codigo=:k_Fase_codigo');
  tq.parambyname('k_Fase_codigo').asstring:=strzero(p_Fase_codigo,2);
  tq.open;
  if tq.eof then begin
    tq.sql.clear; tq.params.clear;
    tq.sql.add('INSERT INTO FaseProduto VALUES(:k_fase_codigo,:k_fase_descricao)');
  end else begin
    tq.sql.clear; tq.params.clear;
    tq.sql.add('UPDATE FaseProduto SET fase_descricao=:k_fase_descricao WHERE fase_codigo=:k_fase_codigo');
  end;
  tq.parambyname('k_fase_codigo').asstring   := strzero(p_fase_codigo,2);
  tq.parambyname('k_fase_descricao').asstring:= fase_descricao;
  tq.close;
  tq.execsql;
  result:=1;
  tq.close;
  tq.Free;
end;

function TFaseProduto.Recuperar;
var tq:TQuery;
begin
  tq:=Tquery.Create(dmint);
  tq.databasename:=DmInt.Db.DatabaseName;
  tq.active:=False;
  tq.sql.clear;
  tq.sql.add('SELECT * FROM FaseProduto where fase_codigo=:k_fase_codigo');
  tq.Params[0].asstring:=strzero(p_fase_codigo,2);
  tq.open;
  fase_codigo      :=p_fase_codigo;
  if tq.eof then begin
    fase_descricao :='';
    Result:=0;
  end else begin
    fase_descricao:=tq.fieldbyname('fase_descricao').asstring;
    Result:=1;
  end;
  tq.Close;
  tq.Free;
end;

function TFaseProduto.Excluir;
var tq:TQuery;
begin
  tq:=Tquery.Create(dmint);
  tq.databasename:=dmint.db.databasename;
  tq.active:=False;
  tq.sql.Clear;
  tq.params.clear;
  tq.sql.add('DELETE FROM FaseProduto WHERE fase_codigo=:k_fase_codigo');
  tq.parambyname('k_fase_codigo').asstring:=strzero(p_fase_codigo,2);
  tq.execSQL;
  Result:=1;
  tq.close;
  tq.Free;
end;

procedure TFaseProduto.Consultar;
begin
  p_q.sql.Clear;
  p_q.Params.Clear;
  p_q.sql.add('Select * from FaseProduto where fase_descricao>=:k_fase_descricao order by fase_descricao');
  p_q.parambyname('k_fase_descricao').asstring:= p_nome;
end;

end.
